<?php
namespace Admin\Controller;
use Think\Controller;
class IndexController extends Controller {

  public function _initialize()
  {
    if (!session('?admin'))
    {
      $this->error('当前用户无权限','../Login/login');
      exit;
    }
  }

    public function index(){
        echo 'this is admin moudule';
    }
    function userList()
    {
      $userModel=M('Users');
      //生成一个系统模型调用数据库users表中的数据，模型里的表名去掉前缀首字母大写
      $local_users=$userModel->order('id desc')->select();//等同于select *from think_users order by id desc
      //$users 是函数局部变量，在外面是不可见的
      $this->users=$local_users;
      $this->display();//把当前对象的所有全局变量传递到对用的视图中
      //可以用assign方法限制传递的全局变量
    }
     function bsUserList()
    {
     // $userModel=M('Users');
      //生成一个系统模型调用数据库users表中的数据，模型里的表名去掉前缀首字母大写
     // $local_users=$userModel->order('id desc')->select();//等同于select *from think_users order by id desc
      //$users 是函数局部变量，在外面是不可见的
     // $this->users=$local_users;
     // $this->display();//把当前对象的所有全局变量传递到对用的视图中
      //可以用assign方法限制传递的全局变量

      $User = M('Users'); // 实例化User对象
      $count= $User->count();//查询满足要求的总记录数
      $Page= new\Think\Page($count,5);// 实例化分页类传入总记录数和每页显示的记录数
      
      $show= $Page->show();// 分页显示输出组件
      // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
   $list = $User->limit($Page->firstRow.','.$Page->listRows)->select();
      $this->assign('users',$list);// 赋值数据集
      $this->assign('page',$show);// 赋值分页输出
      $this->display(); // 输出模板

    }
    function users()
    {
      $userModel=M('Users');
      //生成一个系统模型调用数据库users表中的数据，模型里的表名去掉前缀首字母大写
      $local_users=$userModel->order('id desc')->select();//等同于select *from think_users order by id desc
      //$users 是函数局部变量，在外面是不可见的
      $this->users=$local_users;
      $this->display();//把当前对象的所有全局变量传递到对用的视图中
      //可以用assign方法限制传递的全局变量
    }
    function del($id)

    {
       //生成一个Users模型，调用模型删除数据
    	$userModel=M('Users');
    	if($userModel->delete($id))//delete from think_users where id=$id
    	{
          $this->success('删除成功');
    	}
    	else{
    		$this->error('删除失败');
    	}
    }
    function setstar($id)
    {
       $userModel=M('Users');
       $data['isstar']=1;
       if($userModel->where("id=$id")->save($data))
       {//uodate users set isstar=1 where id=$id
       	$this->success('设置明星作者成功');
       }
       else{
       	$this->error('设置明星作者失败');
       }
      
    }
    function unstar($id)
    {
       $userModel=M('Users');
       $userModel->isstar=0;
       $userModel->isfirst=0;
       $userModel->id=$id;
       if($userModel->save())
       {//uodate users set isstar=1 where id=$id
       	$this->success('取消明星作者成功');
       }
       else{
       	$this->error('取消明星作者失败');
       }

      
    }
    function setfirst($id)
    {
       $userModel=M('Users');
       $userModel->isstar=1;
       $userModel->isfirst=1;
       $userModel->id=$id;
       if($userModel->save())
       {//uodate users set isstar=1 where id=$id
       	$this->success('设置首页推荐成功');
       }
       else{
       	$this->error('设置首页推荐失败');
       }

      
    }
    function unfirst($id)
    {
       $userModel=M('Users');
       $userModel->isfirst=0;
       $userModel->id=$id;
       if($userModel->save())
       {//uodate users set isstar=1 where id=$id
       	$this->success('取消首页推荐成功');
       }
       else{
       	$this->error('取消首页推荐失败');
       }
      
    }
    function updateUserInfo($id)
    {
    	$userModel=M('Users');
    	$this->user=$userModel->find($id);
    	$this->display();//将查询到的用户信息传递给模板updateUserInfo.html
    }
    function update()
    { //获取updateUserInfo界面提交过来的数据，修改数据
    	$userModel=D('Users');
    	$userModel->create();//create()  使用_POST数组创建一个对象

    	if($_FILES['photo']['error']==0)
    	 {
         $photoinfo=$this->upload();
         $userModel->photo=$photoinfo['photo']['savename'];
        //获取文件保存的文件名
         }
    	if($userModel->save())
    	{
    		$this->success('修改用户成功','users');
    	}
    	else
    	{
    		$this->error('修改用户失败');
    	}
    }
    public function upload()
    {
        $upload = new \Think\Upload();// 实例化上传类
        $upload->maxSize = 3145728 ;// 设置附件上传大小
        $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
        $upload->rootPath = './Public/Uploads/photo/'; // 设置附件上传根目录
        //$upload->savePath = ''; // 设置附件上传（子）目录
        $upload->autoSub=false;
        // 上传文件
        $info = $upload->upload();
        if(!$info) {// 上传错误提示错误信息
           $this->error($upload->getError());
          }
        else{// 上传成功
          return $info;
           }
    }
    function img()
    {   	
           $photoinfo=$this->upload();
           $filepath='./Public/Uploads/photo/';
           $oldfilename=$photoinfo['photo']['savename'];
           $oldfileFullname=$filepath.'\\'.$oldfilename;
           $newfilename='thumb_'.$oldfilename;
           $newfileFullname=$filepath.'\\'.$newfilename;

           $image=new\Think\Image();
           $image->open($oldfileFullname);
           $image->thumb(100,100)->save($newfileFullname);
           return $newfilename;
         
      
    }

    function addUser()
    {//接收add.html界面提交过来的用户信息
        //注意：单独处理图像的上传以及photo字段的赋值
        //保存到数据库 使用add（）方法
        $userModel=D('Users');//采用D方法才会验证
    	if($userModel->create())
    	{

    	  if($_FILES['photo']['error']==0)//判断文件是否上传成功
    	    {
              $fileName=$this->img();
             //$photoinfo=$this->upload();//将临时文件保存都指定位置
             $userModel->photo=$fileName;
            }
    	  if($userModel->add())
    	    {
    		 $this->success('添加用户成功','users');
    	    }
    	  else
    	   {
    		$this->error('添加用户失败');
    	   }
        }
        else
        {
       	  $this->error($userModel->getError());
        }

    }

}